package com.csun.cmny.provider.model.vo.old_leave;

import com.csun.cmny.provider.model.vo.cycle.CycleDaysVo;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Auther: chisj chisj@foxmal.com
 * @Date: 2019-10-18 11:53
 * @Description:
 */
@Data
public class OldLeaveDaysVo extends CycleDaysVo {

    /**
     * 请假天数 = 请假结束日期 - 请假开始日期
     */
    private Integer leaveDays;

    /**
     * 请假结束日期
     */
    private Date startDate;

    /**
     * 请假开始日期
     */
    private Date endDate;

    /**
     * 实际请假天数 = 单次请假天数 = 0 ? (changeOneFlag-isZero ? 1 : 0) : 单次请假天数
     */
    private Integer realLeaveDays;

    /**
     * 请假天数临界天数 大于等于该天数才开始退费 (D1 returnFeeDays)
     */

    /**
     * 扣除请假天数 当满足退费天数，要扣除该天数 (D2 takeOffDays)
     */

    /**
     * 请假退费天数 = 实际请假天数 > D1 ? 实际请假天数 - D2 : 0
     */
    private Integer returnDays;

    /**
     * 请假退费周期数(Dt) = 请假天数 / 周期总天数
     */
    private BigDecimal dt;

    /**
     * 请假结束节点天数 = 请假结束节点日期 - 请假起始周期开始日期
     */
    private Integer endDays;

    /**
     * 请假结束周期数（De） = 请假结束节点天数 / 周期总天数
     */
    private BigDecimal de;

    /**
     * 请假开始周期数（Ds） = 请假结束周期数（De） - 请假退费周期数(Dt)
     */
    private BigDecimal ds;
}
